Before এবং After Trigger এর ব্যবহার

Computer Programming - এপেক্স (Apex) Apex ট্রিগারস (Apex Triggers) |
251
251

Before Trigger এবং After Trigger হলো Apex Trigger-এর দুটি প্রধান টাইমিং, যা Salesforce ডেটাবেজে ইভেন্টের উপর নির্ভর করে বিভিন্ন কাজ সম্পন্ন করতে ব্যবহৃত হয়। Before Trigger ডেটা সেভ হওয়ার আগে কার্যকর হয়, এবং After Trigger ডেটা সেভ হওয়ার পর কার্যকর হয়। এই দুটি টাইমিং বিভিন্ন প্রয়োজন অনুযায়ী ব্যবহার করা হয়।


১. Before Trigger এর ব্যবহার

Before Trigger সাধারণত ডেটা সেভ হওয়ার আগে ডেটা ভ্যালিডেশন বা ডেটা প্রসেসিংয়ের জন্য ব্যবহৃত হয়। এই Trigger-এ ডেটা সরাসরি পরিবর্তন বা মডিফাই করা যায়, কারণ ডেটা এখনও ডেটাবেজে সেভ হয়নি। Before Trigger-এ ডেটার মান পরিবর্তন করা হলে সেই পরিবর্তিত মান ডেটাবেজে সেভ হবে।

উদাহরণ: Before Insert Trigger

ধরুন, আমরা একটি Trigger তৈরি করতে চাই, যা নতুন Account রেকর্ড ইনসার্ট করার আগে Industry ফিল্ড চেক করবে এবং সেটি খালি থাকলে Technology মান দিয়ে পূরণ করবে।

trigger SetDefaultIndustry on Account (before insert) {
    for (Account acc : Trigger.new) {
        if (acc.Industry == null) {
            acc.Industry = 'Technology';
        }
    }
}

এখানে SetDefaultIndustry Trigger before insert ইভেন্টে কাজ করবে। যদি Industry ফিল্ড খালি থাকে, তাহলে এটি Technology মান সেট করবে এবং তারপর রেকর্ডটি ডেটাবেজে সেভ হবে।

উদাহরণ: Before Update Trigger

ধরুন, আমরা একটি Trigger তৈরি করতে চাই, যা Account রেকর্ড আপডেট করার আগে AnnualRevenue ফিল্ড চেক করবে এবং সেটি যদি 0 হয়, তাহলে একটি নির্দিষ্ট মান দিয়ে সেট করবে।

trigger CheckAnnualRevenue on Account (before update) {
    for (Account acc : Trigger.new) {
        if (acc.AnnualRevenue == 0) {
            acc.AnnualRevenue = 50000; // Default value
        }
    }
}

এখানে CheckAnnualRevenue Trigger before update ইভেন্টে কাজ করবে এবং AnnualRevenue ফিল্ড যদি শূন্য থাকে, তাহলে এটি ডিফল্ট মান 50000 দিয়ে পূরণ করবে।


২. After Trigger এর ব্যবহার

After Trigger সাধারণত ডেটা সেভ হওয়ার পর কার্যকর হয় এবং এটি অন্য অবজেক্টের উপর নির্ভরশীল কার্যক্রম সম্পন্ন করতে ব্যবহৃত হয়। After Trigger-এ মূল ডেটা পরিবর্তন করা সম্ভব নয়, কারণ ডেটা ইতিমধ্যে ডেটাবেজে সেভ হয়ে গেছে। After Trigger-এ সাধারণত লজিকাল কাজ, যেমন- সম্পর্কিত রেকর্ড তৈরি, ইমেইল পাঠানো, বা লজ ব্যবহার করা হয়।

উদাহরণ: After Insert Trigger

ধরুন, আমরা একটি Trigger তৈরি করতে চাই, যা নতুন Account রেকর্ড তৈরি হওয়ার পর স্বয়ংক্রিয়ভাবে একটি Contact রেকর্ড তৈরি করবে, যেখানে Account এর নাম সেট করা থাকবে।

trigger CreateContactAfterAccount on Account (after insert) {
    List<Contact> contacts = new List<Contact>();
    for (Account acc : Trigger.new) {
        Contact con = new Contact(
            LastName = acc.Name,
            AccountId = acc.Id
        );
        contacts.add(con);
    }
    insert contacts;
}

এখানে CreateContactAfterAccount Trigger after insert ইভেন্টে কাজ করবে এবং প্রতিটি নতুন Account রেকর্ড তৈরি হওয়ার পর স্বয়ংক্রিয়ভাবে একটি Contact রেকর্ড তৈরি করবে।

উদাহরণ: After Update Trigger

ধরুন, আমরা একটি Trigger তৈরি করতে চাই, যা Opportunity রেকর্ড আপডেট হওয়ার পর Account রেকর্ডের Last Activity Date ফিল্ড আপডেট করবে।

trigger UpdateAccountActivity on Opportunity (after update) {
    List<Account> accounts = new List<Account>();
    for (Opportunity opp : Trigger.new) {
        Account acc = new Account(
            Id = opp.AccountId,
            LastActivityDate = Date.today()
        );
        accounts.add(acc);
    }
    update accounts;
}

এখানে UpdateAccountActivity Trigger after update ইভেন্টে কাজ করবে এবং Opportunity আপডেট হওয়ার পর সম্পর্কিত Account রেকর্ডের Last Activity Date আপডেট করবে।


Before এবং After Trigger-এর মূল পার্থক্য

বৈশিষ্ট্যBefore TriggerAfter Trigger
কার্যক্রমের সময়ডেটা সেভ হওয়ার আগে কার্যকর হয়ডেটা সেভ হওয়ার পর কার্যকর হয়
প্রক্রিয়াডেটা পরিবর্তন বা ভ্যালিডেশন করতে ব্যবহৃত হয়অন্যান্য অবজেক্টের উপর নির্ভরশীল কাজ, যেমন সম্পর্কিত রেকর্ড তৈরি, ইমেইল পাঠানো
মূল ডেটা পরিবর্তনহ্যাঁ, মূল ডেটা পরিবর্তন করা যায়না, মূল ডেটা পরিবর্তন করা যায় না
ব্যবহারডেটা ভ্যালিডেশন, ডিফল্ট মান সেট, ইত্যাদিসম্পর্কিত রেকর্ড তৈরি, ইমেইল পাঠানো, অডিটিং ইত্যাদি

সংক্ষেপে Before এবং After Trigger

  • Before Trigger: ডেটা সেভ হওয়ার আগে কার্যকর হয় এবং ডেটা মডিফাই করা যায়। সাধারণত ডেটা ভ্যালিডেশন বা প্রাথমিক সেটিং করার জন্য ব্যবহৃত হয়।
  • After Trigger: ডেটা সেভ হওয়ার পর কার্যকর হয়। এটি অন্যান্য অবজেক্টে নির্ভরশীল কাজ বা সম্পর্কিত কার্যক্রম পরিচালনার জন্য ব্যবহৃত হয়।

Before এবং After Trigger ব্যবহার করে Salesforce ডেটাবেজের ইভেন্ট-চালিত কার্যক্রম সহজ এবং স্বয়ংক্রিয় করা যায়, যা বিভিন্ন ব্যবসায়িক নিয়ম এবং প্রক্রিয়াকে কার্যকর করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion